# [Шпаргалка по bash](https://github.com/cyberspacedk/BASH-Commands)

## Файловая система
### Просмотр содержимого папки

    pwd                     # выводит текущи путь (сокращение от PRINT WORK DIRECTORY)
    ls                      # показать содержимое папки
    ls -l                   # отображает расширенную информацию о файлах и папках
    ls -a                   # то же, но показывать и скрытые файлы и папки
    ls -a -1                # то же, но в один столбец
    ls -hF -1 --sort=extension # показать содержимое папки «красиво, в один столбец»
    ls build/css            # показать содержимое папки ТЕКУЩАЯ_ПАПКА/build/css
    ls /d/projects          # показать содержимое папки D:/projects
### Перемещение по файловой системе
Пользователь всегда находится в какой-то папке, она (или полный путь) всегда показана до области ввода команд.

    cd projects             # переход в папку projects, которая есть текущей папке
    cd /d/projects          # windows: переход в папку projects, расположенную по адресу D:/projects 
    cd /c/Program\ Files    # windows: переход в C/:Program Files 
    cd .                    # текущая директория
    cd ..                   # переход к родительской папке 
    cd ~                    # домашняя директория
    cd -                    # переход к последней рабочей папке
Чтобы не набирать имя папки целиком, наберите первые пару символов и нажмите Tab — произойдет автодополнение (если нет двух папок, начинающихся с введенных символов, иначе будут показаны сами эти папки). Справедливо для любой команды.

### Создание папок и файлов
    mkdir project                        # создать папку с именем «project»
    mkdir project project/css project/js # создать несколько папок
    mkdir -p project/{css,js}            # то же, что выше
    touch index.html                     # создать файл
    touch index.html css/style.css js/script.js # создать файлы (папки css/ и js/ должны уже существовать)
### Копирование файлов
    cp index.html catalog.html # копирование файла index.html в тот же каталог с переименованием в catalog.html
    cp index.html old/         # копирование файла index.html в папку old/ (все произойдет в текущей папке)
    cp temp/ temp2/ -r         # дублирование каталога
    Переименование или перемещение файлов
    mv index.html old              # перемещение файла в папку
    mv index.html old/new_name.txt # перемещение файла в папку с переименованием файла
    mv order.txt orderNew.txt      # переименовать файл
### Удаление папок и файлов
    rm ghost.png             # удалить файл
    rm -rf old               # удалить папку и всё из нее

## Алиасы
Для команд можно создавать алиасы (синонимы). Для этого в папке пользователя (OSX и linux) или в C:/Users/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.bashrc (Windows) нужно вписать строки, наподобие alias pro='cd /d/projects' (одна строка в файле — один алиас)..

    alias                 # отобразит алиасы, которые уже заданы в системе   
    alias c='clear'       # создаст алиас который будет очищать консоль
    unalias c             # удалит алиас " c "
    unalias -a            # удалит все записанные алиасы